package com.example.demo.domain.base;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 数据库表基础字段
 *
 * @author hao.chen
 * @date 2025/7/19 18:46
 */
@Data
public abstract class BaseDO implements Serializable {

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 创建人 */
    @TableField(fill = FieldFill.INSERT)
    private String creator;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    /** 最后修改人 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String lastModified;

    /** 最后修改时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;

    /** 是否删除（0-未删除，1-已删除） */
    @TableLogic
    private Integer isDelete;

}
